Technical Field
The present invention generally relates to data management, and in particular, to the preventing of timing out during the transmission of data to an input/output (I/O) device.
Description of the Related Art
During transfer of data in packets, an I/O controller may send a “start transfer” request to an I/O device and then wait for the I/O device to return a “grant” message. Upon grant, the I/O controller sends data to the I/O device, and the I/O device returns “ACK”, e.g., acknowledged, after it receives the data, which is transmitted in a predefined quantity. The transfer sequence must be completed in a predetermined period bounded by a Tout time limit Should data transfer not complete before reaching the Tout time limit, the I/O device reaches Tout and returns a “Tout error” to the I/O controller. The data that previously arrived at the I/O device will be discarded, and the process has to be started again.
The quantity of data to be transferred is broken into packets in the I/O controller. The packets may be so large that the I/O controller cannot buffer the packet at one time. As such, packet retransmission cannot be employed due to the data lost in the Tout event.